package day07;

// 练习
// 最小路径：dp问题

import java.util.Scanner;

public class Main1 {
    public int uniquePaths(int m, int n) {
        // 首先创建数组用于存储数据
        int[][] f = new int[m][n];
        // 进行初始化：对边界值
        for (int i = 0; i < m; i++) {
            f[i][0] = 1;
        }
        for (int i = 0; i < n; i++) {
            f[0][i] = 1;
        }
        // 然后遍历：使用状态方程
        for (int i = 1; i < m; i++) {
            for (int j = 1; j < n; j++) {
                // 注意下标 以及符号！
                f[i][j] = f[i-1][j] + f[i][j-1];
            }
        }
        return  f[m-1][n-1];
    }

    public static void main(String[] args) {
        Main1 main1 = new Main1();
        System.out.println(main1.uniquePaths(2, 2));
    }
}
